package com.wk.arth.od;

import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;

/**
 * 输入的第一行是一个整数 N（1<=N<=1000），表示有 N 户家庭。
 * 输入的第二行是一个属组 （0<=
 * <=10000），表示每户家庭的位置，所有家庭的位置都不相同。 输出描述
 * 输出一行，一个整数，表示你确定的学校位置。如有多个位置相同，则输出值最小的位置
 * @author wukai
 * @date 2023/4/19 12:36
 *
 * 排序 取中间的，奇数，取中间的，偶数，取中间偏左的
 * 中位数是距离各点最近的
 */
public class XueXiaoWeizhi {
    public static void main(String[] args) {
        int res = Integer.MAX_VALUE;
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        scanner.nextLine();
        String line = scanner.nextLine();
        String[] list = line.split(" ");
        int[] stu = new int[n];
        int max = 0;
        for (int i = 0; i < list.length; i++) {
            stu[i] = Integer.parseInt(list[i]);
            max = Integer.max(max,stu[i]);
        }
        int j = 0;
        for (int i=0;i<=max;i++){
            int curDis =  getDis(stu,i);
            if(curDis < res){
                res = curDis;
                j = i;
            }
        }
        System.out.println(res);
        System.out.println(j);

        // 最优解
        Arrays.sort(stu);
        if (n%2 == 0){
            System.out.println(stu[(n-1)/2]);
        }else{
            System.out.println(stu[n/2]);
        }
    }
    public static int  getDis(int[] stu,int adr){
        int sum = 0;
        for (int i : stu) {
            sum+=adr>i?(adr-i):(i-adr);
        }
        return sum;
    }
}
